go test命令解惑

作者:matrix 被围观: 15 次 发布时间:2026-08-31 分类:Golang | 无评论 »

GO test 单测命令平时也没怎么关注 直接用的IDE自带命令,今天就简单整理下

命令格式

go test [选项参数(怎么测)] [目标路径(测什么)]

命令参数

-v  详细模式Verbose,不加就只显示最终总结果

-tags 加上隔离标签的测试文件
测试文件的第一行写了类似 //go:build erp_integration 这样的注释。如果不加 -tags erp_integration,Go 会直接跳过这些文件,-tags 参数目的test 运行时把这部分测试也带上而不是 only tags

-run 指定函数测试 支持正则表达式 
    精确匹配:-run ^TestSync$
    关键字模糊匹配:-run Protocol
    多函数匹配: -run ^TestSync|TestSync2$

-count=1  运行测试测试,指定 1次 可以避免缓存(代码没动,但是 db 有修改的那种情况)

-cover 测试代码覆盖率

-race 并发Bug检查,静态竞争检查

测试指定包(目录)

go test -v ./services/erp

运行这个目录下所有 Test 开头的函数(普通测试函数)

测试指定文件

如果指定的文件有依赖其他文件的话 go test 命令后面都得携带.否则会报错。
一般是建议指定包(目录)测试,然后-run 过滤函数名

go test file1.go dep.go dep2.go .....

测试指定函数

使用-run 参数过滤 运行指定函数

go test -v ./services/erp  -run '^TestIntegrationCreateAndRevokeFlow|TestClientLogsRequestAndResponseWithoutPassword$'

注意:go test 后面要么指定目录测试 要么指定文件,否则会报错

# go test ./services/erp -v ./services/erp/xxxx.go
这条命令其实是指定目录测试,后面的乱写的`./services/erp/xxxx.go`东西 其实会被自动忽略 
其他文章:
本文固定链接:https://www.hhtjim.com/go-test.html
matrix
本文章由 matrix 于2026年08月31日发布在Golang分类下,目前没有通告,你可以至底部留下评论。
转载请注明:go test命令解惑-HHTjim'S 部落格
关键字:

添加新评论 »

 🙈 😱 😂 😛 😭 😳 😀 😆 👿 😉 😯 😮 😕 😎 😐 😥 😡 😈 💡

插入图片